import 自动测试
from 工程.J20.UVPA_A天线接口分机.公共函数 import *
from 插件.界面.消息弹框 import *


def 过压欠压测试初始化():
    zbb仪器.程控电源1.连接()
    噪声仪1.连接()
    延时(0.2)
    噪声仪1.加载校准()
    zbb仪器.程控电源1.设置电压(28)
    产品初始化()
    延时(0.5)
    噪声仪1.扫描模式连续()

    产品初始化()
    射频矩阵1.连接()
    信号源1.连接()
    综测仪1.连接()
    综测仪1.设置测试发射()
    综测仪1.设置音频1关()
    综测仪1.设置音频2关()
    综测仪1.设置功率单位()

    延时(2)
    print("过压欠压测试初始化")




global 设置电压
设置电压=""
    
def 过压欠压功率(电压='28V',功率模式='AM',频点=108.000000):
    zbb路由连接.输入电源测试路由()
    频率=频点*1000000
    global 设置电压
    if not 设置电压==电压:
        zbb仪器.程控电源1.设置电压(电压)
        设置电压=电压
        产品初始化()


    设置功率模式频点(功率模式,频率)
 
    信号源1.设置频率比对(频率=频率,比对值=频率)

    信号源1.设置幅度(幅度=-2)
    信号源1.设置调制关()
    信号源1.设置射频开()
    延时(0.3)

    zbb产品.被测产品.设置PTT控制指令(PTT='PTT有效')
    延时(2)

    仪器幅度=综测仪1.读发功率()
    zbb产品.被测产品.设置PTT控制指令(PTT='PTT无效')

    功率=仪器幅度*1000

    项目="过压欠压功率('"+电压+"','"+功率模式+"',"+str(频点)+")"
    
    if 功率模式=='AM':
        低限=10
    elif 功率模式=='FM':
        低限=15

    功率=zbb路由连接.补偿功率W(功率,频点)
    判断合格保存(项目+'功率',功率,低限)

def 过压欠压增益(电压="28",通道="XS2"):
    global 设置电压
    if not 设置电压 == 电压:
        zbb仪器.程控电源1.设置电压(电压)
        设置电压 = 电压
        产品初始化()
    zbb路由连接.噪声系数和增益测试路由(通道)
    延时(2)
    增益表=噪声仪1.读增益()
    增益表=拆分字符串(增益表,",")
    print(增益表)

    增益108=按值转换(增益表[0],0.1,0)
    增益174=按值转换(增益表[1],0.1,0)
    增益225=按值转换(增益表[2],0.1,0)
    增益399=按值转换(增益表[3],0.1,0)

    项目="过压欠压增益('"+电压+","+通道+"')"

    判断合格保存(项目+"108",增益108,15,18)
    判断合格保存(项目+"399",增益399,15,18)

if __name__=='__main__':
    pass
    过压欠压测试初始化()
    过压欠压功率('31.5V',"AM",108)
    过压欠压增益('31.5V',"XS3")
    过压欠压功率('28V', "AM", 108)
    过压欠压增益('28V', "XS3")
    过压欠压功率('20V', "AM", 108)
    过压欠压增益('20V', "XS3")
